package com.kly.service.pay;

import com.fqgj.common.api.Response;
import com.kly.enums.SubscriptionProcessStatus;
import com.kly.req.ReceiveNotifyRequest;
import com.kly.req.RepayRequest;
import com.kly.req.RepayStatusRequest;
import com.kly.rsp.RepayResponse;
import com.kly.rsp.RepayStatusResponse;

/**
 * 资金流入服务类
 * @author linqu
 */
public interface RepayService {

    /**
     * 资金流入
     */
    Response<RepayResponse> repay(RepayRequest repayRequest);


    /**
     * 资金入账结果
     */
    Response<RepayStatusResponse> repayStatusQuery(RepayStatusRequest repayStatusRequest);

    /**
     * 其它信息查询, 返回json格式字符串
     */
    Response<String> queryExtentInfo(RepayRequest repayRequest);

    /**
     * 支付通知日志
     */
    Response<Boolean> receiveNotify(ReceiveNotifyRequest repayStatusRequest);

    /**
     * 增加日志记录的对应的订单号
     */
    Response<Boolean> storeOrderInfo(ReceiveNotifyRequest repayStatusRequest);
    /**
     * 单独增加续订日志
     */
    Response<Boolean> addSubscriptionLog(ReceiveNotifyRequest receiveNotifyRequest);
    /**
     * 修改续订日志状态
     */
    Response<Boolean> updateSubscriptionStatus(String messageId, SubscriptionProcessStatus status, String msg);
    /**
     * 续订成功
     */
    Response<Boolean> subscriptionSuccess(String orderId, String msg);
    /**
     * 修改续订日志
     */
    Response<Boolean> updateSubscription(String messageId, String token, String orderId);



}
